﻿using Microsoft.AspNetCore.Authorization;

namespace S.Authorization.Read.API.Extensions.Filter
{
    /// <summary>
    /// /策略授权
    /// </summary>
    /// IAuthorizationRequirement 接口本身是一个标记接口，没有任何成员方法或属性。它的主要目的是为了标识一个类作为授权需求，以便在授权处理程序中识别该需求并进行相应的处理。
    public class CustomRequirement : IAuthorizationRequirement { }
    public class CustomAuthorizationHandler : AuthorizationHandler<CustomRequirement>
    {
        protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, CustomRequirement requirement)
        {
            //if (/* 在此处编写自定义的授权逻辑 */)
            //{
            //    context.Succeed(requirement);
            //}

            return Task.CompletedTask;
        }
    }
}
